function Moroes_OnCombat(Unit, event)
Unit:PlaySoundToSet(9211)
Unit:SendChatMessage(14,0,"Hmm, unannounced visitors? Preparations must be made.")
Unit:RegisterEvent("Moroes_Blind",8000,0)
Unit:RegisterEvent("Moroes_Vanish",14500,0)
Unit:RegisterEvent("Moroes_Garrote",15001,0)
end

function Moroes_Blind(pUnit, event)
pUnit:FullCastSpellOnTarget(34654, pUnit:GetMainTank())
end

function Moroes_Vanish(Unit, event, miscunit, misc)
print "Moroes Vanish"
Unit:FullCastSpell(41476)
Unit:PlaySoundToSet(9215)
Unit:SendChatMessage(12, 0, "Now, where was I? Oh yes...")
end

function Moroes_Garrote(pUnit, event)
local plr = pUnit:GetRandomPlayer(0)
if (plr ~= nil) then
pUnit:FullCastSpellOnTarget(37066, plr)
end
end

function Moroes_PartTwo(Unit, event)
Unit:RegisterEvent("Moroes_Blind",8000,0)
Unit:RegisterEvent("Moroes_Vanish",14500,0)
Unit:RegisterEvent("Moroes_Garrote",15001,0)
end

function Moroes_Blind(pUnit, event)
pUnit:FullCastSpellOnTarget(34654, pUnit:GetMainTank())
end

function Moroes_Vanish(Unit, event, miscunit, misc)
print "Moroes Vanish"
Unit:FullCastSpell(41476)
Unit:PlaySoundToSet(9316)
Unit:SendChatMessage(12, 0, "You rang?")
end

function Moroes_Garrote(pUnit, event)
local plr = pUnit:GetRandomPlayer(0)
if (plr ~= nil) then
pUnit:FullCastSpellOnTarget(37066, plr)
end
end

function Moroes_OnDied(Unit)
Unit:RemoveEvents()
Unit:SendChatMessage(14,0,"How terribly clumsy of me...")
Unit:PlaySoundToSet(9213)
end

function Moroes_OnKilledTarget(Unit)
Unit:SendChatMessage(14,0,"I've gone and made a mess.")
Unit:PlaySoundToSet(9315)
end

function Moroes_OnLeaveCombat(Unit)
Unit:RemoveEvents()
end

RegisterUnitEvent(15687,1,"Moroes_OnCombat")
RegisterUnitEvent(15687,2,"Moroes_PartTwo")
RegisterUnitEvent(15687,3,"Moroes_OnLeaveCombat")
RegisterUnitEvent(15687,4,"Moroes_OnKilledTarget")
RegisterUnitEvent(15687,5,"Moroes_OnDied")